// Podstawowe operacje na acuchach  cz druga

#import <Foundation/Foundation.h>

int main (int argc, char *argv[])
{
    NSAutoreleasePool  *pool = [[NSAutoreleasePool alloc] init];
    NSString  *str1 = @"To jest acuch A";
    NSString  *str2 = @" To jest acuch B";
    NSString  *res;
    NSRange   subRange;

    // Pobranie trzech pierwszych znakw z acucha

    res = [str1 substringToIndex: 3];
    NSLog (@"Trzy pierwsze znaki acucha str1: %@", res);

    // Pobranie wszystkich znakw od znaku o indeksie 5

    res = [str1 substringFromIndex: 5];
    NSLog (@"Znaki od indeksu 5 acucha str1: %@", res);

    // Pobranie znakw od indeksu 8 do 13 (6 znakw)

    res = [[str1 substringFromIndex: 8] substringToIndex: 6];
    NSLog (@"Znaki od indeksu 8 do 13: %@", res);

    // atwiejszy sposb na zrobienie tego samego

    res = [str1 substringWithRange: NSMakeRange (8, 6)];
    NSLog (@"Znaki od indeksu 8 do 13: %@", res);

    // Znajdowanie jednego acucha w innym

    subRange = [str1 rangeOfString: @"acuch A"];
    NSLog (@"acuch zaczyna si pod indeksem %lu, a jego dugo wynosi %lu",
        subRange.location, subRange.length);

    subRange = [str1 rangeOfString: @"acuch B"];

    if (subRange.location == NSNotFound)
        NSLog (@"Nie znaleziono acucha ");
    else
        NSLog (@"acuch zaczyna si pod indeksem %lu, a jego dugo wynosi %lu",
            subRange.location, subRange.length);

    [pool drain];
    return 0;
}